1. Field
The embodiments discussed herein are directed to a technology for accurately and efficiently monitoring operation information of each program (process) executed in a CPU that has a paging system virtual memory.
2. Description of the Related Art
In recent years, many processors have a performance monitoring counter. Performance monitoring counters count events inside the processor, such as the number of clocks, the number of execution instructions, and the number of cache misses, and events of exchanges with the outside. In addition, these performance monitoring counters each have a plurality of counters and are able to selectively count a desired event from among a plurality of types of events.
Furthermore, the performance monitoring counters generate an interrupt in a specific or specified vector when a specified event is detected, and are able to collect accompanying information when the event occurs.
A known method of collecting or analyzing operation information of a program uses a performance monitoring counter of a CPU. This is, for example, described in Japanese Laid-open Patent Publication No. H10-260869.
The most typical performance analyzing method that uses the performance monitoring counter reads counter values at the time when a program starts and ends and then calculates the difference between the counter values to thereby quantitatively analyze characteristics, such as the number of clocks and the number of instructions needed for executing the target program.
In addition, another known method reads the performance monitoring counter at constant intervals to analyze the operating status and operating characteristics of an entire system.
An unwanted feature of the above methods is that, under the condition that a plurality of programs are executed, it is difficult to accurately associate values, read by the performance monitoring counter, with the respective programs. In order to collect counter values for respective programs, it is necessary to collect and accumulate a counter value for each program when an operating system switches a task.
In the above related arts, actually, there is no choice but, irrespective of whether it is inaccurate, to read counter values from the performance monitoring counter at the time when a program starts and ends or the OS is modified so as to switch counter values at the time of task switching.
The invention addresses the above described problem, and it is an object of the invention to provide a technology for accurately and efficiently monitoring operation information of each program (process) executed in a CPU that has a paging system virtual memory without any special modification at the side of an operating system.